ICTSC2021 夏の陣 競技ルールについて

スケジュール

今回の大会は、以下のスケジュールにて競技を開催いたします。以下の競技時間以外の時間は、問題を解くことができません。問題は、スコアサーバーにて閲覧することができます。スコアサーバーは、1日目の競技開始時にDiscordにて登録リンクをアナウンスいたします。

1日目

時間予定
9:30 – 10:00踏み台サーバへの接続テスト
10:00 – 16:30競技時間

2日目

時間予定
10:00 – 16:30競技時間
17:30 – 18:30閉会式

問題

問題は、スコアサーバーから確認することができます。各問題では、何かしらのトラブルが発生しています。問題文中には、初期状態, 終了状態, 前提条件が示されています。問題環境に初めてアクセスした時点で、初期条件を満たしていることを確認してください。その後、前提条件の下で、終了条件を満たす手順を解答として提出してください。

競技中に問題文等の修正を行った場合、その旨をDiscordのannounceチャンネルにてアナウンスいたします。

問題環境

本コンテストの問題環境は、さくらのクラウドに展開された仮想マシンとして提供されます。問題環境は、チームごとに独立しており、インターネットから直接アクセスすることはできません。この環境へは、踏み台サーバを経由して接続します。踏み台サーバの接続情報は、1日目の競技開始30分前にDiscordでアナウンスいたします。各問題の接続情報は、それぞれの問題文中に記載されています。

今回の大会では、1日目と2日目で共通の問題が出題されます。そのため、1日目の競技終了後、2日目の競技開始時まで踏み台サーバーを含めた問題環境に接続することができなくなります。また、問題環境からもインターネットにアクセスできなくなります。あらかじめご了承ください。

いくつかの問題は、VNCを用いて問題環境に接続する必要があります。踏み台サーバーはSSHのみ接続を許可しているため、VNCを利用する場合は、SSHポートフォワードを利用してアクセスする必要があります。

問題環境の初期化

何らかの理由で、終了条件を満たすことができなくなってしまった問題環境は初期化を行うことができます。初期化はDiscordのチームチャットから行うことができます。以下のフォーマットに従って、問題環境の初期化依頼を送信してください。問題コードはスコアサーバーに記載されています。

$recreate PROBLEM_CODE

問題環境の初期化は、各チームで同時に1問のみ実行することができます。別の問題環境の初期化依頼中に、問題環境の初期化依頼を送信するとエラーが発生するため注意してください。また、問題環境の初期化はベストエフォートで実行されます。初期化の進捗は、初期化依頼が受理された後に返信されるダッシュボードからご確認ください。

解答

問題の解答は、スコアサーバーから提出することができます。解答は報告書形式で記述し、その解答を読めば問題環境のトラブルシュートができるような状態で提出をしてください。また、同じ問題に対して複数回解答を行うことができますが、それぞれの解答はその解答だけで完結するように解答してください。前の解答を参照するような場合は、終了条件を満たしている場合でも採点を行うことができませんのであらかじめご了承ください。

解答を提出すると、20分間は同一の問題に解答することができなくなります。

採点

運営は、以下の手順で採点を行います。採点結果は解答してから20分以降に表示・加点されます。

  1. 報告書形式の解答を読み、操作内容で基準・終了状態を満たしていることを確認する
  2. (必要があれば)問題環境を確認し、終了条件を満たしていることを確認する

得点・順位

採点された回答の中で、最も高い得点がその問題の最終的な得点になります。そのため、以下の例の場合、問題の最終的な得点は200点になります。

回答提出時間得点
13:00100
16:00200
17:00100

また、順位は以下のルールに従って決定されます。

  1. 問題の最終的な点数の合計が大きいチームの方がより高い順位とする
  2. その点数に到達するのが最も早いチームの方がより高い順位とする
  3. 1, 2の条件を満たさない場合、同じ順位とする

質問

質問は、原則として、Discordでのみ受け付けます。ただし、以下のような理由で、Discordでの質問ができない場合、[email protected] 宛に、チーム名と質問事項を明記の上、お問い合わせください。

  • Discordに参加するまでの過程で質問が発生した場合
  • Discord自体が落ちてしまって質問できない場合

Discordで質問をする場合、以下のフォーマットに従って、質問内容を送信してください。すると、質問に対応したスレッドが作成されます。このスレッドの中で、詳しい質問内容を送信してください。問題環境に関する質問など他のチームに知られてはいけない質問は、チームチャットで質問を送信してくださいそれ以外の競技全般に関する質問は、randomチャンネル・チームチャットのどちらで質問を送信していただいても構いません。

$question SUMMARY_OF_QUESTION

また、質問内容によっては、競技の公平性のため、お答えすることができない質問もあります。あらかじめご了承ください。

表彰

競技終了後、順位が高いチームから順に3チームの表彰を行います。2日目の競技終了後、閉会式にて表彰を行う他、ICTSC公式ホームページにて今回の大会の順位を掲載いたします。

また、競技終了後、それぞれの順位をメールにて送付いたします。

Discord

今回の大会では、運営と参加者のコミュニケーションツールとしてDiscordを利用します。メールでお送りした招待リンクからDiscordのチャンネルに参加してください。チーム全員が参加する必要はありませんが、問題に関する質問や問題環境の初期化はDiscordのチャンネル経由でのみ行うことができます。

チャンネルに参加したら、最初にチーム登録を行う必要があります。チャンネルには、ICTSC2021 AdminというBotが動作しているので、以下のフォーマットに従って、チーム登録を行ってください。招待コードは、Discordの招待リンクをお送りしたメールに一緒に記載しています。正しい招待コードが入力されると、チームのロールが付与され、チームチャットが見えるようになります。

$join INVITATION_CODE

禁止事項

以下のような、大会の妨害にあたる行為は禁止します。運営からの注意を無視し、継続的にこれらの行為を行った場合、大会への参加資格の剥奪や表彰の対象からの除外などの措置を行います。

  • 他のチームや参加登録をしていない人間と協力をして問題を解く行為
  • 問題環境やスコアサーバーなどに過度に負荷をかけたり迷惑になる行為
  • 問題環境からインターネットに対して攻撃などをする行為
  • 競技時間外に問題環境に接続したり、解答を送信する行為
  • 無意味な解答や質問の連投などで運営の業務を妨害する行為
  • その他、運営が大会を継続するにあたって妨害行為であると判断した行為